"""
	user.py
    只存放用户的登录和注册两个业务方法
"""

import random
# import * 表示导入util.py文件下的所有内容
from util import *



def register():
    # 获取用户名
    # bug 用户名重复后,重新录入收不到用户名!
    username = input_username()
    
    # 获取密码
    while 1:
        userpwd = input_password()
        repeat_userpwd = input_password()
        if userpwd != repeat_userpwd:
            continue
        else:
            break
            
    # 随机给个账户余额
    # randrange(起始值,终止值,步长)
    userbalance = random.randrange(100,1000,100)
    
    # 把用户的信息写入文件
    userinfo = username+","+userpwd+","+str(userbalance)+"\n"
    
    write_userinfo(userinfo)
    
    from menu import start_menu
    start_menu()
    
    
def input_username():
    username = input("请输入用户名:>>>")
    # 检查用户名是否存在
    if check_user_exists(username):
        print("用户名已经存在")
        username = input_username()
    
    return username  
        
    
def input_password():
    userpwd = input("请输入用户密码>>>")
    if len(userpwd) < 8:
        print("密码长度太短,必须8位以上")
        userpwd = input_password()
    return userpwd
    
def check_user_exists(username):
    # 读取文件
    user_list = read_userinfo()
    print(type(user_list))
    # 使用1开始.用于跳过第一行标题行:用户名,密码,余额
    for i in range(1,len(user_list)):
        if user_list[i].split(",")[0] == username:
            return i    
    return False

def login():
    # 录入用户名
    username = input("请输入用户名")
    # 录入密码
    userpwd = input("请输入密码")
    # 检查用户名是否存在.密码是否正确
    index = check_user_exists(username)
    if index:
        user_list = read_userinfo()
        if user_list[index].split(",")[1] == userpwd:
            print("恭喜登录成功")
            global login_user_index  # 声明一个全局变量. 在函数内部声明一个全局变量需要通过global来进行修饰.
            login_user_index = index # 把登录成功的用户下标 保存起来!
            from menu import main_menu
            main_menu()
        else:
            print("密码错误!")
    else:
        print("用户名不存在")
    
    
    
    
    
    
    
    
    
    
    
    